﻿/*
 * Created by SharpDevelop.
 * User: Miguel
 * Date: 08/10/2011
 * Time: 02:45 p.m.
 * 
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 */
using System;

namespace Business_Entity
{
	/// <summary>
	/// Description of BELineaPedidoServicio.
	/// </summary>
	public class BELineaPedidoServicio : BELineaPedidoVenta
	{
		
		private int idPedidoVenta;
		private int id;
		private double precio;
		private DateTime fecha;
		private BEEstadoAtencion estado;
		private String observaciones;
		private BEMascota mascota;
		private BEEmpleado empleado;
		private BEServicio servicio;
		private BETienda tienda;
		private BEDescuento descuento;
		private DateTime proximaCita;
		private BECliente cliente;
		
		public BECliente Cliente {
			get { return cliente; }
			set { cliente = value; }
		}
		
		public BELineaPedidoServicio(){
			this.id = -1;
			
		}
		
		public BELineaPedidoServicio(int id, double precio, DateTime fecha, BEEstadoAtencion estado, String observaciones, BEMascota mascota, BETienda tienda, BEDescuento descuento)
		{
			
			this.id = id;
			this.mascota = mascota;
			this.precio = precio;
			this.fecha = fecha;
			this.estado = estado;
			this.observaciones = observaciones;
			this.tienda = tienda;
			this.descuento = descuento;
		}
		
		public BEDescuento Descuento{
			get{return this.descuento;}
			set{this.descuento = value;}
		}
		
		public double MontoConDescuento{
			get{
				return Math.Round(this.Precio - MontoDescuento, 2);
			}
		}
		
		public double MontoDescuento{
			get{
				try{
					return Math.Round(this.Precio*(this.Descuento.Descuento/100), 2);
				}catch(Exception ex){
					return 0;
				}
			}
		}
		
		public BETienda Tienda{
			get{return this.tienda;}
			set{this.tienda = value;}
		}
		
		public int Id{
			get{return this.id;}
			set{this.id = value;}
		}
		
		public int IdPedidoVenta{
			get{return this.idPedidoVenta;}
			set{this.idPedidoVenta = value;}
		}
		
		public BEMascota Mascota{
			get{return this.mascota;}
			set{this.mascota = value;}
		}
		
		public double Precio{
			get{return this.precio;}
			set{this.precio = value;}
		}
		
		public DateTime Fecha{
			get{return this.fecha;}
			set{this.fecha = value;}
		}
		
		public BEEstadoAtencion Estado{
			get{return this.estado;}
			set{this.estado = value;}
		}
		
		public BEEmpleado Empleado{
			get{return this.empleado;}
			set{this.empleado = value;}
		}
		
		public BEServicio Servicio{
			get{return this.servicio;}
			set{this.servicio = value;}
		}
		
		public String Observaciones{
			get{return this.observaciones;}
			set{this.observaciones = value;}
		}
		
		public DateTime ProximaCita{
			get{return this.proximaCita;}
			set{this.proximaCita = value;}
		}
		
		
		
		private byte[] archivo;

        public byte[] Archivo
        {
            get { return archivo; }
            set { archivo = value; }
        }

        private string nomArchivo;

        public string NomArchivo
        {
            get { return nomArchivo; }
            set { nomArchivo = value; }
        }
	}
}
